var createError = require('http-errors')
var express = require('express')
var path = require('path')
var cookieParser = require('cookie-parser')
var logger = require('morgan')
var proxy = require('http-proxy-middleware')

var indexRouter = require('./routes/index')
var usersRouter = require('./routes/users')

var app = express()

// view engine setup
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'jade')

app.use(['/api'], proxy(['/api'], {
  //target: 'http://172.16.49.61:8080',
  https: true,
  target: 'https://www.ydeary.com',
  changeOrigin: true,
  onError: function (err, req, res) {
    console.log(err)
  },
  onProxyRes: function (proxyRes, req, res) {
    console.log(proxyRes.statusCode)
  }
}))

app.use(logger('dev'))
app.use(express.json())
app.use(express.urlencoded({extended: false}))
app.use(cookieParser())
//app.use(express.static('public'))
app.use(express.static(path.join(__dirname, '')))

app.use('/', indexRouter)
app.use('/users', usersRouter)

//-----------页面路由()----------------------------------

/**
 * 首页页面跳转地址
 */
app.get('/index.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/index.html')
})

/**
 * 登陆页面跳转地址
 */
app.get('/login.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/user/login.html')
})

/**
 * 注册页面跳转地址
 */
app.get('/register.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/user/register.html')
})

/**
 * 忘记密码页面跳转地址
 */
app.get('/forget_the_password.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/user/forget_the_password.html')
})

/**
 * user页面跳转地址
 */
app.get('/User.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/user/User.html')
})

/**
 * 个人中心--钱包设置页面跳转地址
 */
app.get('/the_wallet_center.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/the_wallet_center.html')
})

/**
 * 个人中心--账户中心--充值--OTC交易页面跳转地址
 */
app.get('/OTC_transaction.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/OTC_transaction.html')
})

/**
 * 个人中心--钱包设置页面跳转地址
 */
app.get('/share_to_earn_money.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/share_to_earn_money.html')
})

/**
 * 个人中心--账号设置页面跳转地址
 */
app.get('/account_settings.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/user/account_settings.html')
})

/**
 * 个人中心--账户中心--充值--详情页面跳转地址
 */
app.get('/recharge_details.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/recharge_details.html')
})

/**
 * 数字合约--用户中心页面跳转地址
 */
app.get('/follow_transaction.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/transaction/follow_transaction.html')
})

/**
 * 数字合约--用户中心页面跳转地址
 */
app.get('/follow_flat_record.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/transaction/follow_flat_record.html')
})

/**
 * 数字合约--合约交易页面跳转地址
 */
app.get('/Contract_transaction.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/transaction/Contract_transaction.html')
})

/**
 * 数字合约--帮助中心页面跳转地址
 */
app.get('/Help.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/about_us/Help.html')
})

/**
 * 主页页面跳转地址
 */
app.get('/home.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/index/home.html')
})
/**
 * 智能跟单页面跳转地址
 */
app.get('/intelligent_merchandiser.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/index/intelligent_merchandiser.html')
})

/**
 * 咨讯行情页面跳转地址
 */
app.get('/information.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/index/information.html')
})
/**
 * 咨讯>行情>要闻页面跳转地址
 */
app.get('/information_news_quotation.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/index/information_news_quotation.html')
})
/**
 * 充提明细页面跳转地址
 */
app.get('/recharge_detailed.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/transaction/recharge_detailed.html')
})
/**
 * 平仓记录页面跳转地址
 */
app.get('/follow_flat_record.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/transaction/follow_flat_record.html')
})
/**
 * 跟随交易页面跳转地址
 */
app.get('/follow_transaction.htm', function (req, res) {
    res.sendFile(__dirname + '/' + 'pages/html/transaction/follow_transaction.html')
})

/**
 * 页面跳转地址
 */
app.get('/client_download.htm', function (req, res) {//客户端下载
    res.sendFile(__dirname + '/' + 'pages/html/about_us/client_download.html')
})

app.get('/extension_center', function (req, res) {//推广中心
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/extension_center.html')
})

app.get('/position_center.htm', function (req, res) {//持仓中心
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/position_center.html')
})
app.get('/position_center_history.htm', function (req, res) {//持仓中心历史记录
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/position_center_history.html')
})

app.get('/Help_details', function (req, res) {//帮助中心--详情
    res.sendFile(__dirname + '/' + 'pages/html/about_us/Help_details.html')
})

app.get('/Option_transaction', function (req, res) {//期权交易
    res.sendFile(__dirname + '/' + 'pages/html/index/Option_transaction.html')
})

app.get('/message_center', function (req, res) {//消息中心
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/message_center.html')
})


app.get('/withdraw_money', function (req, res) {//提币
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/withdraw_money.html')
})

app.get('/account_subscribers', function (req, res) {//账户中心
    res.sendFile(__dirname + '/' + 'pages/html/personal_center/account_subscribers.html')
})

//-----------页面路由----------------------------------

// catch 404 and forward to error handler
app.use(function (req, res, next) {
  next(createError(404))
})

// error handler
app.use(function (err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message
  res.locals.error = req.app.get('env') === 'development' ? err : {}

  // render the error page
  res.status(err.status || 500)
  res.render('error')
})

var server = app.listen(8081, function () {
  var host = server.address().address
  var port = server.address().port
  console.log('应用实例，访问地址为 http://%s:%s', host, port)
})

module.exports = app


